2: COMMENT ā VALID 00002 PAGES 3: C REC PAGE DESCRIPTION 4: C00001 00001 5: C00002 00002 BEGIN SYSMAK -- MAKE NEW SYSTEM FROM OLD. 6: C00005 ENDMK 7: Cā; 9: BEGIN SYSMAK -- MAKE NEW SYSTEM FROM OLD. 10: SUBTTL SYSMAK - J. SAUTER, STANFORD, 11-FEB-68, NEW SYSTEMS FOR OLD! 11: 12: ;SYSMAK RUNS IN THE OLD SYSTEM AND CREATES A NEW ONE 13: ;ON TOP OF ITSELF. WHEN THE SYSTEM IS HALTED AND STARTED 14: ;AT LOCATION 202 (SEE FIRST) CONTROL IS 15: ;TRANSFERRED TO SYSMAK. THIS ROUTINE ASSUMES THAT JOB 1 16: ;IS A CORE IMAGE TO RUN IN EXEC MODE. 17: ;IT BLT'S THE PROGRAM DOWN (FROM 140 THROUGH 77777) SO 18: ;THAT IT MAY RUN IN EXEC MODE, AND HALTS. THE VARIOUS 19: ;INCOMPATABILITIES BETWEEN USER AND EXEC DDT ARE TAKEN 20: ;CARE OF AS WELL. 21: 22: 23: āSYSMAK: 24: SETZM 41 ;TRY TO KILL THE 6 25: SETZM 46 26: SETZM SIXRUN 27: MOVEI 1,100000 28: SOJG 1,. ;GIVE IT A CHANCE TO DIE 29: HRRZ 1,JBTADR+1 ;GET RELOCATION FOR JOB 1 30: JUMPE 1,SYSBUG ;NOT THERE? 31: MOVE 2,JOBSYM(1) ;GET HIS SYMBOL TABLE POINTER. 32: MOVEM 2,DDTSYM ;PUT WHERE EXEC DDT WILL SEE IT. 33: MOVSI 10,(<BLT 3,0>) 34: HRR 10,JOBREL(1) 35: HRRZM 10,DDTMEM ;SET INITIAL MEMORY LIMIT 36: MOVSI 3,140(1) 37: HRRI 3,140 38: MOVSI 11,(<SETZM>) 39: HRRI 11,1(10) ;ZERO FIRST LOC AFTER THE LAST MOVED BY BLT. 40: MOVSI 4,1(10) 41: HRRI 4,2(10) ;BLT AC 42: MOVE 12,RMEMSIZ ;CLEAR ALL OF CORE 43: SUBI 12,2 ;EXCEPT THE LAST WORD (BLT WITH EA=-1 LOSES) 44: HRLI 12,(<BLT 4,0>) 45: MOVSI 13,(<JRST 4,>) 46: HRR 13,JOBSA(1) ;MAKE 11=HALT STARTING ADDRESS. 47: JRST 10 ;BLOCK IT DOWN. 48: 49: SYSBUG: DATAO CTY,[7] 50: HALT SYSMAK ;LET HIM TRY AGAIN 51: 52: LIT 53: 54: āMAKEND: BEND